package com.chenyaowei.order.domain;

import com.chenyaowei.common.annotation.Excel;
import com.chenyaowei.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单项信息对象 cyw_order_item
 *
 * @author 陈耀威
 * @date 2023-12-03
 */
public class CywOrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** order_id */
    @Excel(name = "order_id")
    private Long orderId;

    /** order_sn */
    @Excel(name = "order_sn")
    private String orderSn;

    /** spu_id */
    @Excel(name = "spu_id")
    private Long spuId;

    /** spu_name */
    @Excel(name = "spu_name")
    private String spuName;

    /** spu_pic */
    @Excel(name = "spu_pic")
    private String spuPic;

    /** 品牌 */
    @Excel(name = "品牌")
    private String spuBrand;

    /** 商品分类id */
    @Excel(name = "商品分类id")
    private Long categoryId;

    /** 商品sku编号 */
    @Excel(name = "商品sku编号")
    private Long skuId;

    /** 商品sku名字 */
    @Excel(name = "商品sku名字")
    private String skuName;

    /** 商品sku图片 */
    @Excel(name = "商品sku图片")
    private String skuPic;

    /** 商品sku价格 */
    @Excel(name = "商品sku价格")
    private BigDecimal skuPrice;

    /** 商品购买的数量 */
    @Excel(name = "商品购买的数量")
    private Integer skuQuantity;

    /** 商品销售属性组合（JSON） */
    @Excel(name = "商品销售属性组合")
    private String skuAttrsVals;

    /** 商品促销分解金额 */
    @Excel(name = "商品促销分解金额")
    private BigDecimal promotionAmount;

    /** 优惠券优惠分解金额 */
    @Excel(name = "优惠券优惠分解金额")
    private BigDecimal couponAmount;

    /** 积分优惠分解金额 */
    @Excel(name = "积分优惠分解金额")
    private BigDecimal integrationAmount;

    /** 该商品经过优惠后的分解金额 */
    @Excel(name = "该商品经过优惠后的分解金额")
    private BigDecimal realAmount;

    /** 赠送积分 */
    @Excel(name = "赠送积分")
    private Integer giftIntegration;

    /** 赠送成长值 */
    @Excel(name = "赠送成长值")
    private Integer giftGrowth;

    @Excel(name = "仓库id")
    private Long wareId;

    /** 评价时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date commentTime;

    /** 能否评论 0->不可以评论，1->可以评论 */
    private Boolean commentAllow;

    public Long getWareId() {
        return wareId;
    }

    public void setWareId(Long wareId) {
        this.wareId = wareId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setOrderSn(String orderSn)
    {
        this.orderSn = orderSn;
    }

    public String getOrderSn()
    {
        return orderSn;
    }
    public void setSpuId(Long spuId)
    {
        this.spuId = spuId;
    }

    public Long getSpuId()
    {
        return spuId;
    }
    public void setSpuName(String spuName)
    {
        this.spuName = spuName;
    }

    public String getSpuName()
    {
        return spuName;
    }
    public void setSpuPic(String spuPic)
    {
        this.spuPic = spuPic;
    }

    public String getSpuPic()
    {
        return spuPic;
    }
    public void setSpuBrand(String spuBrand)
    {
        this.spuBrand = spuBrand;
    }

    public String getSpuBrand()
    {
        return spuBrand;
    }
    public void setCategoryId(Long categoryId)
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId()
    {
        return categoryId;
    }
    public void setSkuId(Long skuId)
    {
        this.skuId = skuId;
    }

    public Long getSkuId()
    {
        return skuId;
    }
    public void setSkuName(String skuName)
    {
        this.skuName = skuName;
    }

    public String getSkuName()
    {
        return skuName;
    }
    public void setSkuPic(String skuPic)
    {
        this.skuPic = skuPic;
    }

    public String getSkuPic()
    {
        return skuPic;
    }
    public void setSkuPrice(BigDecimal skuPrice)
    {
        this.skuPrice = skuPrice;
    }

    public BigDecimal getSkuPrice()
    {
        return skuPrice;
    }
    public void setSkuQuantity(Integer skuQuantity)
    {
        this.skuQuantity = skuQuantity;
    }

    public Integer getSkuQuantity()
    {
        return skuQuantity;
    }
    public void setSkuAttrsVals(String skuAttrsVals)
    {
        this.skuAttrsVals = skuAttrsVals;
    }

    public String getSkuAttrsVals()
    {
        return skuAttrsVals;
    }
    public void setPromotionAmount(BigDecimal promotionAmount)
    {
        this.promotionAmount = promotionAmount;
    }

    public BigDecimal getPromotionAmount()
    {
        return promotionAmount;
    }
    public void setCouponAmount(BigDecimal couponAmount)
    {
        this.couponAmount = couponAmount;
    }

    public BigDecimal getCouponAmount()
    {
        return couponAmount;
    }
    public void setIntegrationAmount(BigDecimal integrationAmount)
    {
        this.integrationAmount = integrationAmount;
    }

    public BigDecimal getIntegrationAmount()
    {
        return integrationAmount;
    }
    public void setRealAmount(BigDecimal realAmount)
    {
        this.realAmount = realAmount;
    }

    public BigDecimal getRealAmount()
    {
        return realAmount;
    }
    public void setGiftIntegration(Integer giftIntegration)
    {
        this.giftIntegration = giftIntegration;
    }

    public Integer getGiftIntegration()
    {
        return giftIntegration;
    }
    public void setGiftGrowth(Integer giftGrowth)
    {
        this.giftGrowth = giftGrowth;
    }

    public Integer getGiftGrowth()
    {
        return giftGrowth;
    }

    public Date getCommentTime() {
        return commentTime;
    }

    public void setCommentTime(Date commentTime) {
        this.commentTime = commentTime;
    }

    public Boolean getCommentAllow() {
        return commentAllow;
    }

    public void setCommentAllow(Boolean commentAllow) {
        this.commentAllow = commentAllow;
    }

    @Override
    public String toString() {
        return "CywOrderItem{" +
                "id=" + id +
                ", orderId=" + orderId +
                ", orderSn='" + orderSn + '\'' +
                ", spuId=" + spuId +
                ", spuName='" + spuName + '\'' +
                ", spuPic='" + spuPic + '\'' +
                ", spuBrand='" + spuBrand + '\'' +
                ", categoryId=" + categoryId +
                ", skuId=" + skuId +
                ", skuName='" + skuName + '\'' +
                ", skuPic='" + skuPic + '\'' +
                ", skuPrice=" + skuPrice +
                ", skuQuantity=" + skuQuantity +
                ", skuAttrsVals='" + skuAttrsVals + '\'' +
                ", promotionAmount=" + promotionAmount +
                ", couponAmount=" + couponAmount +
                ", integrationAmount=" + integrationAmount +
                ", realAmount=" + realAmount +
                ", giftIntegration=" + giftIntegration +
                ", giftGrowth=" + giftGrowth +
                ", wareId=" + wareId +
                ", commentTime=" + commentTime +
                ", commentAllow=" + commentAllow +
                '}';
    }
}
